#!/bin/bash

source /home/shell/util.sh

read -p "指定数据目录[/home/bitcoin]：" data_dir
data_dir=${data_dir:-"/home/bitcoin"};

read -p $'请选择网络类型：\n1. main;\n2. test;\n3. regtest;\n4. signet(暂不支持，还没研究);\n[regtest default]:' net_type
net_type=${net_type:-"3"};

download /opt/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz https://bitcoin.org/bin/bitcoin-core-0.21.1/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz
tar -xf /opt/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz -C  /opt
rm -rf /opt/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz
mv /opt/bitcoin-*/ /usr/local/bitcoin

if [ ! -d "${data_dir}" ]; then
    mkdir -p ${data_dir} 
fi


tee /etc/profile.d/bitcoin.sh<<EOF
export PATH=\$PATH:/usr/local/bitcoin/bin
EOF
source /etc/profile.d/bitcoin.sh

if [ ! -d "~/.bitcoin/" ]; then
    mkdir -p ~/.bitcoin/
fi

tee ~/.bitcoin/bitcoin.conf<<EOF
rpcuser=admin
rpcpassword=admin123
EOF

cp -r /home/shell/support/btc/bitcoin.conf ${data_dir}

case "${net_type}" in
    1)
        printInfo "使用main网！"
        sed -i "s/# testnet=1/testnet=0/g" ${data_dir}/bitcoin.conf
    ;;
    2)
        printInfo "使用test网！"
        sed -i "s/# testnet=1/testnet=1/g" ${data_dir}/bitcoin.conf
        firewall-addport 18443
    ;;
    3)
        printInfo "使用regtest网！"
        sed -i "s/# regtest=1/regtest=1/g" ${data_dir}/bitcoin.conf
        firewall-addport 18332
    ;;
    4)
        printWarn "不支持signet，即将使用regtest网！"
        sed -i "s/# regtest=1/regtest=1/g" ${data_dir}/bitcoin.conf
    ;;
    *)
        printInfo "使用regtest网！"
        sed -i "s/# regtest=1/regtest=1/g" ${data_dir}/bitcoin.conf
    ;;
esac


bitcoind -conf=${data_dir}/bitcoin.conf -datadir=${data_dir} -daemon